package com.jinmdz.fmis.dao.model.search;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.common.annotation.AnColumn;
import com.jinmdz.fmis.common.annotation.AnTable;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 礼厅查询
 *
 * @author GuanKui
 * @date 2020/2/24 17:45
 */
@AnTable(value = "Sheet", title = "礼厅业务查询")
@ApiModel(value = "礼厅查询", description = "礼厅查询")
public class SearchMournCeremonyViewItem extends BaseBean {

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    @AnColumn(value = "业务编码", index = 0)
    private String businessCode;

    /**
     * 逝者姓名
     */
    @ApiModelProperty(value = "逝者姓名", name = "deadName", position = 2)
    @AnColumn(value = "逝者姓名", index = 1)
    private String deadName;

    /**
     * 逝者性别
     */
    @ApiModelProperty(value = "逝者性别", name = "deadGender", position = 3)
    @AnColumn(value = "性别", index = 2)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 逝者性别编号
     */
    @ApiModelProperty(value = "逝者性别编号", name = "deadGenderCode", position = 4)
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者年龄
     */
    @ApiModelProperty(value = "逝者年龄", name = "deadAge", position = 5)
    @AnColumn(value = "年龄", index = 3)
    private String deadAge;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", name = "certificateNo", position = 6)
    @AnColumn(value = "证件号码", index = 4)
    private String certificateNo;

    /**
     * 礼厅分类
     */
    @ApiModelProperty(value = "礼厅分类", name = "businessType", position = 7)
    @AnColumn(value = "礼厅分类", index = 5)
    private String businessType;

    /**
     * 礼厅类型编码
     */
    @ApiModelProperty(value = "礼厅类型编码", name = "hallTypeCode", position = 8)
    @JsonIgnore
    private Integer hallTypeCode;

    /**
     * 礼厅类型
     */
    @ApiModelProperty(value = "礼厅类型", name = "hallType", position = 9)
    @AnDict(dict = EDictCode.HALL_TYPE, ref = "hallTypeCode")
    @AnColumn(value = "礼厅类型", index = 6)
    private String hallType;

    /**
     * 礼厅编号
     */
    @ApiModelProperty(value = "礼厅编号", name = "hallCode", position = 10)
    @AnColumn(value = "礼厅编号", index = 7)
    private String hallCode;

    /**
     * 礼厅名称
     */
    @ApiModelProperty(value = "礼厅名称", name = "hallName", position = 11)
    @AnColumn(value = "礼厅名称", index = 8)
    private String hallName;

    /**
     * 礼厅状态编码
     */
    @ApiModelProperty(value = "礼厅状态编码", name = "processStateCode", position = 12)
    @JsonIgnore
    private Integer processStateCode;

    /**
     * 礼厅状态
     */
    @ApiModelProperty(value = "礼厅状态", name = "processState", position = 13)
    @AnDict(dict = EDictCode.HALL_STATUS, ref = "processStateCode")
    @AnColumn(value = "礼厅状态", index = 9)
    private String processState;

    /**
     * 预约入厅时间
     */
    @ApiModelProperty(value = "预约入厅时间", name = "appointmentInTime", position = 14)
    @AnColumn(value = "入厅时间", pattern = BaseBean.yyyy_MM_dd_HH_mm, index = 10)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentInTime;

    /**
     * 预约出厅时间
     */
    @ApiModelProperty(value = "预约出厅时间", name = "appointmentOutTime", position = 15)
    @AnColumn(value = "出厅时间", pattern = BaseBean.yyyy_MM_dd_HH_mm, index = 11)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentOutTime;

    public String getBusinessCode() {
        return businessCode;
    }

    public SearchMournCeremonyViewItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public SearchMournCeremonyViewItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public SearchMournCeremonyViewItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public SearchMournCeremonyViewItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadAge() {
        return deadAge;
    }

    public SearchMournCeremonyViewItem setDeadAge(String deadAge) {
        this.deadAge = deadAge;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public SearchMournCeremonyViewItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public String getBusinessType() {
        return businessType;
    }

    public SearchMournCeremonyViewItem setBusinessType(String businessType) {
        this.businessType = businessType;
        return this;
    }

    public Integer getHallTypeCode() {
        return hallTypeCode;
    }

    public SearchMournCeremonyViewItem setHallTypeCode(Integer hallTypeCode) {
        this.hallTypeCode = hallTypeCode;
        return this;
    }

    public String getHallType() {
        return hallType;
    }

    public SearchMournCeremonyViewItem setHallType(String hallType) {
        this.hallType = hallType;
        return this;
    }

    public String getHallCode() {
        return hallCode;
    }

    public SearchMournCeremonyViewItem setHallCode(String hallCode) {
        this.hallCode = hallCode;
        return this;
    }

    public String getHallName() {
        return hallName;
    }

    public SearchMournCeremonyViewItem setHallName(String hallName) {
        this.hallName = hallName;
        return this;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public SearchMournCeremonyViewItem setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
        return this;
    }

    public String getProcessState() {
        return processState;
    }

    public SearchMournCeremonyViewItem setProcessState(String processState) {
        this.processState = processState;
        return this;
    }

    public Date getAppointmentInTime() {
        return appointmentInTime;
    }

    public SearchMournCeremonyViewItem setAppointmentInTime(Date appointmentInTime) {
        this.appointmentInTime = appointmentInTime;
        return this;
    }

    public Date getAppointmentOutTime() {
        return appointmentOutTime;
    }

    public SearchMournCeremonyViewItem setAppointmentOutTime(Date appointmentOutTime) {
        this.appointmentOutTime = appointmentOutTime;
        return this;
    }
}
